/*
 * Copyright [2022] [https://www.xiaonuo.vip]
 *
 * Snowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：
 *
 * 1.请不要删除和修改根目录下的LICENSE文件。
 * 2.请不要删除和修改Snowy源码头部的版权声明。
 * 3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文件的项目出处，作者声明等。
 * 4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip
 * 5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。
 * 6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip
 */
package vip.xiaonuo.biz.modular.event.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import vip.xiaonuo.common.pojo.CommonEntity;

import java.util.Date;

/**
 * 事件实体
 *
 * @author 古月墨塵
 * @date  2022/12/01 19:29
 **/
@Getter
@Setter
@TableName("BIZ_EVENT")
public class BizEvent extends CommonEntity {

    /** ID */
    @TableId
    @ApiModelProperty(value = "ID", position = 1)
    private String id;

    /** api日志ID */
    @ApiModelProperty(value = "api日志ID", position = 2)
    private String apiLogId;

    /** 事件配置ID */
    @ApiModelProperty(value = "事件配置ID", position = 3)
    private String eventConfigId;

    /** 事件编码 */
    @ApiModelProperty(value = "事件编码", position = 4)
    private String eventCode;

    /** 事件用户id */
    @ApiModelProperty(value = "事件用户id", position = 5)
    private String eventUserId;

    /** 事件时间 */
    @ApiModelProperty(value = "事件时间", position = 6)
    private Date eventTime;

    /** 事件标题 */
    @ApiModelProperty(value = "事件标题", position = 7)
    private String eventTitle;

    /** 事件描述 */
    @ApiModelProperty(value = "事件描述", position = 8)
    private String eventDesc;

    /** 事件动作 1-门禁刷卡 2-开柜门 3-关柜门 4-手动盘库 5-自动盘库 6-重启 7-提交借用检查 8-提交归还检查 9-定期检查 */
    @ApiModelProperty(value = "事件动作 1-门禁刷卡 2-开柜门 3-关柜门 4-手动盘库 5-自动盘库 6-重启 7-提交借用检查 8-提交归还检查 9-定期检查 10-称重", position = 9)
    private Integer eventAction;

    /** 事件类别 1-操作事件 2-预警事件 3-提醒事件 4-环境事件 */
    @ApiModelProperty(value = "事件类别 1-操作事件 2-预警事件 3-提醒事件 4-环境事件", position = 10)
    private Integer eventCateg;

    /** 事件等级 */
    @ApiModelProperty(value = "事件等级", position = 11)
    private Integer eventLevel;

    /** 异常标识 0-否 1-是 */
    @ApiModelProperty(value = "异常标识 0-否 1-是", position = 12)
    private Integer abnFlag;

    /** 通知标识 0-否 1-是 */
    @ApiModelProperty(value = "通知标识 0-否 1-是", position = 13)
    private Integer notifyFlag;

    /** 通知方式[多个] 1-邮件 2-短信 */
    @ApiModelProperty(value = "通知方式[多个] 1-邮件 2-短信", position = 14)
    private String noticeMethods;

    /** 柜组ID */
    @ApiModelProperty(value = "柜组ID", position = 17)
    private String cabinetGroupId;

    /** 柜子ID */
    @ApiModelProperty(value = "柜子ID", position = 17)
    private String cabinetId;

    /** 柜门ID */
    @ApiModelProperty(value = "柜门ID", position = 18)
    private String cabinetDoorId;

    /** 物品ID */
    @ApiModelProperty(value = "物品ID", position = 19)
    private String goodsId;

    @ApiModelProperty(value = "物品台账ID", position = 19)
    private String goodsLedgerId;

    /** 处理状态 0-未处理 1-处理中 2-已处理 */
    @ApiModelProperty(value = "处理状态 0-未处理 1-处理中 2-已处理", position = 20)
    private Integer procStatus;

    /** 处理描述 */
    @ApiModelProperty(value = "处理描述", position = 21)
    private String procDesc;

    /** 处理时间 */
    @ApiModelProperty(value = "处理时间", position = 22)
    private Date procTime;

    @ApiModelProperty(value = "IOT事件ID", position = 9)
    private String eventId;

    @ApiModelProperty(value = "管理员ID(开门用)", position = 9)
    private String adminId;
}
